package com.coscoshipping.rams.demo.mapper;

import com.alibaba.fastjson2.JSONObject;
import com.coscoshipping.rams.demo.entity.BlockHeader;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.coscoshipping.rams.demo.pojo.dto.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author zhaoyin.yang
 * @since 2025-01-15
 */
public interface BlockHeaderMapper extends BaseMapper<BlockHeader> {

    /**
     * @description 获取当前开始活动的预控总数快照
     * @return: java.util.List<com.coscoshipping.rams.demo.pojo.dto.BlockSnapshotDTO>
     * @author 杨召银
     * @date 2025/1/15 17:58
     */
    public List<BlockSnapshotDTO> getTodayBlockSnapshot();

    /**
     * @description 更新团队主单关联的block
     * @param groupToBlockDTO
     * @param groupToBlockDTO
     * @return: void
     * @author 杨召银
     * @date 2025/1/16 17:27
     */
    public void connectMasterToBlock(@Param("groupToBlockDTO") GroupToBlockDTO groupToBlockDTO);

    /**
     * @description 更新团队主单关联的block
     * @param groupToBlockDTO
     * @return: void
     * @author 杨召银
     * @date 2025/1/16 17:27
     */
    public void connectHmasterToBlock(@Param("groupToBlockDTO") GroupToBlockDTO groupToBlockDTO);


    /**
     * @description 查询指定block的团队列表
     * @param blockcode
     * @return: java.util.List<com.coscoshipping.rams.demo.pojo.dto.GroupInfoDTO>
     * @author 杨召银
     * @date 2025/1/16 17:27
     */
    public List<GroupInfoDTO> getGroupByBlockcode(@Param("blockcode") String blockcode);


    /**
     * @description 查询团队信息
     * @param accnt
     * @return: com.coscoshipping.rams.demo.pojo.dto.GroupInfoDTO
     * @author 杨召银
     * @date 2025/2/8 15:51
     */
    public GroupInfoDTO getGroupByCode(@Param("accnt") String accnt);



    /**
     * @description 获取指定团队消费信息
     * @param groupno
     * @return: com.coscoshipping.rams.demo.pojo.dto.GroupIncomeDTO
     * @author 杨召银
     * @date 2025/2/8 11:47
     */
    public GroupIncomeDTO groupIncome(@Param("groupno")  String groupno);


    /**
     * @description 获取团队支付信息
     * @param groupno
     * @return: com.alibaba.fastjson2.JSONObject
     * @author 杨召银
     * @date 2025/2/10 11:58
     */
    public List<GroupPayDTO> groupPay(@Param("groupno")  String groupno);

}
